package com.koron.order.linepatrol.base.bean.convertor;

import com.koron.order.linepatrol.base.bean.dto.PatrolDto;
import com.koron.order.linepatrol.base.bean.po.PatrolEnvCheckPo;
import com.koron.order.linepatrol.base.bean.po.PatrolEquipmentPo;
import com.koron.order.linepatrol.base.bean.po.PatrolPo;
import com.koron.order.linepatrol.base.bean.po.PatrolPointPo;
import com.koron.order.linepatrol.base.bean.vo.PatrolBaseVo;
import com.koron.order.linepatrol.base.bean.vo.PatrolEnvCheckVo;
import com.koron.order.linepatrol.base.bean.vo.PatrolEquipmentVo;
import com.koron.order.linepatrol.base.bean.vo.PatrolPointVo;
import org.mapstruct.Mapper;

import java.util.List;

@Mapper(componentModel = "spring")
public interface LinePatrolConvertor {

    PatrolBaseVo patrolPoToBaseVo(PatrolPo patrolPo);

    PatrolPointVo patrolPointPoToVo(PatrolPointPo patrolPointPo);

    List<PatrolEnvCheckVo> envCheckPosToVos(List<PatrolEnvCheckPo> envCheckPos);

    List<PatrolEquipmentVo> equipmentPosToVos(List<PatrolEquipmentPo> equipmentPos);

    PatrolPo PatrolDtoToPo(PatrolDto patrolDto);

    List<PatrolPointPo> pointVosToPo(List<PatrolPointVo> pointVos);

    List<PatrolEquipmentPo> equipmentVosToPos(List<PatrolEquipmentVo> equipmentVos);

    List<PatrolEnvCheckPo> envCheckVosToPos(List<PatrolEnvCheckVo> envCheckVos);

    PatrolDto patrolBaseVoToDto(PatrolBaseVo patrolBaseVo);

}
